From 9e7a567de00ec435fc153dc78044d4fe6a4e6c32 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Tue, 22 Jul 2025 17:17:05 -0400 Subject: [PATCH] tests-unit-container: Verify /boot mount point Prep for further changes. Signed-off-by: Colin Walters --- tests-unit-container/test-prepare-root.sh | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/tests-unit-container/test-prepare-root.sh b/tests-unit-container/test-prepare-root.sh index d3ad3431..c4f95c1c 100755 --- a/tests-unit-container/test-prepare-root.sh +++ b/tests-unit-container/test-prepare-root.sh @@ -28,7 +28,7 @@ ostree admin init-fs --epoch=1 /target-sysroot cd /target-sysroot ostree admin --sysroot=. stateroot-init default # now we just fake out a deployment -mkdir -p ostree/deploy/default/deploy/1234/{etc,usr/etc,usr/bin,sysroot} +mkdir -p ostree/deploy/default/deploy/1234/{boot,etc,usr/etc,usr/bin,sysroot} # Populate some data (cd ostree/deploy/default/deploy/1234 echo passwd > usr/etc/passwd @@ -56,6 +56,10 @@ done # etc is not transient by default etc_options=$(findmnt -no OPTIONS /target-sysroot/etc) [[ ! $etc_options =~ "upperdir=/run/ostree/transient-etc" ]] +# We don't have /boot as a bind mount by default here +if mountpoint /target-sysroot/boot &>/dev/null; then + exit 1 +fi # Default is ro in our images grep -q 'readonly.*true' /usr/lib/ostree/prepare-root.conf @@ -97,3 +101,17 @@ mv /usr/lib/ostree/prepare-root.conf{.orig,} cleanup echo "ok verified etc.transient" + +# Set up boot/loader via traditional ostree swapped symlink pattern +# which will cause prepare-root to also make a bind mount. +mkdir /target-sysroot/boot/loader.0 +ln -s /target-sysroot/boot/loader.0 /target-sysroot/boot/loader + +mount --bind /target-sysroot /target-sysroot +/usr/lib/ostree/ostree-prepare-root /target-sysroot + +mountpoint /target-sysroot/boot + +cleanup + +echo "ok verified /boot" -- 2.30.2